1890B - Qingshan Loves Strings - CodeForces Solution


implementation

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int t;
    cin >> t;
    while (t--)
    {
        int a=0 ,b=0,x=0;
        int n, m;
        cin >> n >> m;
        string s, t;
        cin >> s >> t;
        if (n == 1)
        {
            cout << "Yes" << endl;
            x++;
            
        }
        else
        {
            
            int count = 0, count2 = 0;
            for (int i = 0; i < s.size() - 1; i++)
            {
                if (s[i] == s[i + 1])
                {
                    if (s[i] == '0' && count == 0 && b==0)
                    {
                        vector<char>z;
                        z.push_back(s[i]);
                        for (int j = 0; j < t.size(); j++)
                        {
                            z.push_back(t[j]);
                        }
                        z.push_back(s[i]) ;
                        for (int j = 0; j < z.size() - 1; j++)
                        {
                            if (z[j] == z[j + 1])
                            {
                                cout << "No" << endl;
                                a++;
                                break;
                            }
                        }
                        count++;
                    }
                    else
                    {
                        if (s[i] == '1' && count2 == 0 && a==0)
                        {
                            vector<char>z;;
                            z.push_back(s[i]);
                            for (int j = 0; j < t.size(); j++)
                            {
                                z.push_back(t[j]) ;
                            }
                            z.push_back(s[i]);
                            for (int j = 0; j < z.size() - 1; j++)
                            {
                                if (z[j] == z[j + 1])
                                {
                                    cout << "No" << endl;
                                    b++;
                                    break;
                                }
                            }
                            count2++;

                        }
                    }
                }
            }
        }
        if (a == 0 && b == 0 && x==0)
        {
            cout << "Yes"<<endl;
        }
    }
}


Comments

Submit
0 Comments
More Questions

1302. Deepest Leaves Sum
1209. Remove All Adjacent Duplicates in String II
994. Rotting Oranges
983. Minimum Cost For Tickets
973. K Closest Points to Origin
969. Pancake Sorting
967. Numbers With Same Consecutive Differences
957. Prison Cells After N Days
946. Validate Stack Sequences
921. Minimum Add to Make Parentheses Valid
881. Boats to Save People
497. Random Point in Non-overlapping Rectangles
528. Random Pick with Weight
470. Implement Rand10() Using Rand7()
866. Prime Palindrome
1516A - Tit for Tat
622. Design Circular Queue
814. Binary Tree Pruning
791. Custom Sort String
787. Cheapest Flights Within K Stops
779. K-th Symbol in Grammar
701. Insert into a Binary Search Tree
429. N-ary Tree Level Order Traversal
739. Daily Temperatures
647. Palindromic Substrings
583. Delete Operation for Two Strings
518. Coin Change 2
516. Longest Palindromic Subsequence
468. Validate IP Address
450. Delete Node in a BST